package com.woniuxy.core.service;

import com.woniuxy.entity.PaymentRecord;
import com.woniuxy.util.ResponseData;

import java.util.Map;

/**
 * @Author hq
 * @Date 2025/7/14$ 17:32$
 * @Description TODO
 * @Params $
 * @Return $
 **/
public interface PaymentService {
    /**
     * 创建支付订单
     * @param paymentRecord
     * @return
     */
    ResponseData createPaymentOrder(PaymentRecord paymentRecord);

    void handlePaymentCallback(Map<String, String> callbackParams);
    /**
     * 根据订单编号查询支付记录
     * @param transactionId
     * @return
     */
    PaymentRecord getPaymentRecord(String transactionId);
    /**
     * 退款
     * @param orderId
     * @return
     */
    void refund(String orderId);
    /**
     * 处理支付结果
     * @param outTradeNo
     * @return
     */
    boolean processPaymentResult(String outTradeNo);
    /**
     * 更新订单状态
     * @param orderId
     * @param status
     */
    void updateOrderStatus(String orderId, Integer status);
}
